﻿using System;
using System.Collections.Generic;
using System.Data;
using Meqs.Entity;

namespace Meqs.Logic.Interface
{
    /// <summary>
    /// 德育评价明细表
    /// </summary>
    public interface IMoralityDetailLogic : ICommonLogic<MoralityDetail, int>
    {
        /// <summary>
        /// 获取班级下所有学生在指定的日期内的所有德育评价之明细
        /// </summary>
        /// <param name="studentID">学生ID</param>
        /// <param name="reportType">
        /// 报表类型
        /// 1:日报
        /// 2:周报
        /// 3:月报
        /// </param>
        /// <param name="year">报表年度</param>
        /// <param name="month">报表月度</param>
        /// <param name="schoolYear">学年，不填为当前学年</param>
        /// <param name="term">学期，不填为当前学期</param>
        /// <param name="schoolMark">学校编号</param>
        /// <returns></returns>
        IList<ScoreInputEntity> GetScoreInputEntityByStudent(int studentID, int clsID, int reportType, int year,
                                int month,int day, int? schoolYear, int? term, string schoolMark);

        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="moralityDetail"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        int InsertMoralityDetail(MoralityDetail moralityDetail, string schoolMark);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="keyword"></param>
        /// <param name="studentID"></param>
        /// <param name="schoolYear"></param>
        /// <param name="term"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        IList<MoralStuScore> GetStuMoralScore(String keyword ,int studentID, int? schoolYear, int? term, string schoolMark);
    }
}